Smart network interface cards (SmartNICs) comprise devices that are programmable network interface cards having processing capability and (volatile) storage capacity. SmartNICs are typically used for data compression/decompression and encryption/decryption. Other use cases for SmartNICs include providing a network-accessible data cache and/or providing a compact key-value store.
In a typical client-server scenario that passes data from a client to a storage backend and back, SmartNICs can improve performance. However, in a cloud data storage system such as DELL EMC ECS (formerly Elastic Cloud Storage), concepts such as mirroring data to multiple nodes to protect the data, and having an object's data distributed among possibly multiple nodes, make performance improvement via the capabilities of SmartNICs a complex problem.